#include "base.h"
#include "stack"

class Solution {
public:
    //二分查找出下降的位置，然后二分查找目标
    int search_div(vector<int> &nums){
        int
    }
    int search(vector<int>& nums, int target) {
        auto f=std::find(nums.begin(), nums.end(), target);
        if(f!=nums.end()){
            int fi=f-nums.begin();
            return fi;
//            int fi_cpy=fi;
//            int last_n=*f;
//            bool find=false;
//            while (fi>=0){
//                if(nums[fi]>last_n){
//                    find= true;_87.h
//                    break;
//                }
//                last_n=nums[fi];
//                fi--;
//            }
//            if(find){
//                return fi_cpy-fi-1;
//            }else{
//                fi=fi_cpy;
//                last_n=nums[fi];
//                while (fi<nums.size()){
//                    if(nums[fi]<last_n){
//                        find= true;
//                        break;
//                    }
//                    last_n=nums[fi];
//                    fi++;
//                }
//                if(find){
//                    return nums.size()-fi+fi_cpy;
//                }else{
//                    return fi;
//                }
//            }
        }else{
            return -1;
        }
    }
};

int main()
{
    vector<int> vec={4,5,6,7,0,1,2};
    auto a=Solution().search(vec,0);
//    Solution().longestValidParentheses("(()");
    return 0;
}